package spring.hibernate.jaiku.dao.imp;

import java.util.List;

import org.springframework.orm.hibernate3.support.HibernateDaoSupport;

import spring.hibernate.jaiku.dao.UsuarioDao;
import spring.hibernate.jaiku.modelo.Entrada;
import spring.hibernate.jaiku.modelo.Usuario;

//otra forma de obtener la session factory: ver ComentarioHibernate
public class UsuarioHibernate extends HibernateDaoSupport implements UsuarioDao {

	private static String ENTRADAS_DE_USUARIO = "SELECT e FROM Entrada e WHERE e.id=?";

	public void nuevoUsuario(Usuario usuario) throws Exception {

		this.getHibernateTemplate().persist(usuario);

	}

	public void actualizarUsuario(Usuario usuario) throws Exception {

		this.getHibernateTemplate().merge(usuario);
		// TODO comprovar el flush

	}

	@SuppressWarnings("unchecked")
	public List<Entrada> entradasUsuario(Usuario usuario) throws Exception {

		Long id = usuario.getId();
		List<Entrada> entradas = null;

		entradas = this.getHibernateTemplate().find(ENTRADAS_DE_USUARIO, id);

		return entradas;

	}

}
